草庐IT

c++ - GLUT 和 C++ 类

全部标签

c++ - 需要c++中对象序列化库的推荐

我正在寻找有关C++对象序列化/反序列化库的建议?哪一个是最先进和开源的?它能处理吗用户定义的任何类?对象层次结构(父类和子类)?对象树?A类具有B类的属性,而B类具有C类的属性?STL容器?A类有B类vector?对象的循环?类A有一个指向B的指针,而B有一个指向A的指针?我找到了boost序列化库。我不确定http://www.boost.org/doc/libs/1_42_0/libs/serialization/doc/tutorial.html的限制是什么 最佳答案 这实际上取决于您要查找的内容。如果您正在寻找超快的速度和

c++ - 同时使用多个 SIMD 指令集的好处

我正在编写一个高度并行的多线程应用程序。我已经编写了一个SSE加速线程类。如果我要编写一个MMX加速线程类,然后同时运行两者(每个核心一个SSE线程和一个MMX线程),性能会显着提高吗?我认为此设置有助于隐藏内存延迟,但我想在开始投入时间之前先确定一下。 最佳答案 SSE和MMX指令集在CPU中共享同一组vector处理执行单元。因此,运行一个SSE线程和一个MMX线程时,每个线程将拥有相同的可用资源,就像运行两个SSE线程(或两个MMX线程)一样。唯一的区别是存在于SSE而不是MMX中的指令(因为SSE是MMX的扩展)。但在那种情

c++ - 帮助 C++ 化这个 C 风格的代码

嘿,我习惯用C开发,我想在项目中使用C++。谁能给我一个例子,说明我如何将这种C风格的代码翻译成C++代码。我知道它应该在C++编译器中编译,但我说的是使用C++技术(即类、RAII)typedefstructSolutionSolution;structSolution{doublex[30];intitt_found;doublevalue;};Solution*NewSolution(){Solution*S=(Solution*)malloc(sizeof(Solution));for(inti=0;x[i]=0;}S->itt_found=-1;returnS;}voidFr

c++ - 具有多级继承的大型 C++ 项目的文件/文件夹布局

我正处于一个相对较大(10k+行)项目的规划阶段,该项目具有多个类(30+)和多个级别的类继承(5+)。根据文件和文件夹结构布置我的项目的最佳(或最常规)方式是什么?每个类(class)应该有一个文件吗?每个继承分支应该有一个文件夹吗?我应该有一个包含我的头文件的“include”文件夹,还是我的头文件应该与我的.cpp/.c文件位于同一个文件夹中?我计划定期添加更多类(向继承树添加更多级别)。在树的最低层,实现可能是相对不相关的,但仍然覆盖相同的虚函数。这些不相关的实现是否应该放在同一个文件夹中?谢谢,告诫 最佳答案 1)是的。在

java - 在 Java/C/C++ 中创建 MIPS 机器

大家好,我正在上汇编语言和计算机组织类(class)。最近我接到一项任务,要求我创建一个程序,该程序用Java、C或C++模拟MIPS机器。程序从ASM文件中读取十六进制并将行存储在数组中。然后它应该模拟MIPS机器。我一直在四处寻找,但不知道如何开始。有没有人有一些想法甚至伪代码让我走上正确的道路?要读取的文件示例:240800192409001e240a002301094020010a402000082021如果有人能让我走上正确的道路,那就太好了,谢谢! 最佳答案 您需要做的第一件事就是学会破译这些指令。看起来它们是8个十六进

c++ - GLUT 和 C++ 类

我不久前开始使用OpenGL,使用GLUT。您不能将成员函数传递给GLUT函数。(或者就此而言指向成员的指针,尽管我并没有真正探索该选项)。我想知道是否有一个“体面”的方式来解决这个问题,或者“最体面”的方式是什么?我知道您可以使用静态成员函数,但是没有更好的方法吗?我知道还有其他库,例如SFML,它们是用C++编写的并提供基于C++类的接口(interface),但我想知道关于GLUT(确切地说是freeglut)的可能性是什么。 最佳答案 首先,GLUT不适用于严肃的应用程序工作。它用于简单的图形演示。为此目的,这很好。如果您发

c++ - 我如何同时使用 GTK 和 glut?

我知道为了编写一个GTK应用程序,我写了一堆代码来描述放在主窗口中的内容,然后我调用:gtk_main();在此之后的任何代码语句都不会被执行。现在假设我希望我的GTK应用程序显示我用glut编写的内容,它本身包含一堆关于需要设置什么图形等的语句,然后以语句结束:glutMainLoop();此后的任何内容都不会执行。所以我的问题是这两个语句中的任何一个都阻止我调用另一个。有没有办法在GTK小部件内执行过剩主循环?有没有一种方法可以编写代码,以某种方式同时调用GTK主循环和过剩主循环(但从主程序调用并在单独的X窗口中呈现,而不是在小部件中)?我觉得这可以用“线程”来完成......

c++ - 仅在 C/C++ 中使用 header 时?

像“vec3”这样的类通常只使用一个标题吗?这是我的实际代码:#ifndefVECTOR3_H#defineVECTOR3_H#includeclassvec3{public:doublex,y,z;vec3();vec3(doublex,doubley,doublez):x(x),y(y),z(z){}doublelenght(){returnsqrt(pow(x,2)*pow(y,2)*pow(z,2));}doublelenghtSquared(){returnpow(x,2)+pow(y,2)+pow(z,2);}doubledistance(vec3v){returnsqrt

在运行时定义的 C++ 全局 extern 常量可跨多个源文件使用

我有一个要在运行时定义的整数常量。此常量需要在全局范围内和跨多个源文件可用。我目前有以下简化情况:ClassA.h声明externconstintsomeConstant;ClassA.cpp用途someConstant在某一点。Constants.h声明externconstintsomeConstant;main.cpp包括ClassA.h和Constants.h,声明constintsomeConstant,以及在main()期间的某个时刻尝试初始化someConstant到运行时的实际值。这与char*完美配合我用来让程序的名称在所有文件中全局可用的常量,它的声明和定义与我在这

c++ - 编译器如何使用lib文件?

我很好奇c/c++编译器是如何分析lib文件的?我的意思是说我创建了一个包含一些类的库,我在我的主程序中使用了那个库。编译器如何知道该库中有哪些类名。当然,这些信息以二进制格式存在,我想在我的程序中使用该功能,具体来说,我有一个二进制lib文件,我想知道该lib文件中存在的所有类和属性/函数。这可能吗?如果编译器可以做到,为什么有些库不能?感谢任何线索 最佳答案 编译器不会执行您的建议,但链接器会执行。编译器从包含的与lib文件相关的头文件中知道它需要的信息。然后链接器将您要包含的声明和lib文件及其其他目标文件放在一起。例如,可能